/*
* leetcode 67. 二进制求和
*
给你两个二进制字符串 a 和 b ，以二进制字符串的形式返回它们的和。

示例 1：

输入:a = "11", b = "1"
输出："100"
* */
/*
* */
import java.util.*;
class Solution {
    public String addBinary(String a, String b) {
        StringBuffer sb=new StringBuffer();
        int cur1=a.length()-1,cur2=b.length()-1,t=0;
        while(cur1>=0||cur2>=0||t!=0){
            if(cur1>=0)t+=a.charAt(cur1--)-'0';
            if(cur2>=0)t+=b.charAt(cur2--)-'0';
            sb.append((char)((char)(t%2)+'0'));
            t/=2;
        }
        sb.reverse();
        return sb.toString();
    }
}